package com.tssup.fesco.service;

/**
 * Created by haomin on 2017/4/6.
 */
public interface B2cService {

    /**
     * 更新b2c订单状态为待发货
     * @param ofcOrderId
     * @throws Exception
     */
    void updateOrderStatus2Split(String ofcOrderId) throws Exception;

    /**
     * 更新b2c订单状态为已发货
     * @param ofcOrderId
     * @throws Exception
     */
    void updateOrderStatus2Shipping(String ofcOrderId) throws Exception;

    /**
     * 更新b2c发票订单状态为已发货
     * @param ofcOrderId
     * @throws Exception
     */
    void updateInvoiceOrderStatus2Shipping(String ofcOrderId) throws Exception;

    /**
     * 更新b2c订单状态为取消
     * @param ofcOrderId
     * @throws Exception
     */
    void updateOrderStatus2Cancel(String ofcOrderId) throws Exception;

    /**
     * 更新b2c订单状态为取消
     * @param ofcOrderId
     * @throws Exception
     */
    void updateOrderStatus2Refund(String ofcOrderId) throws Exception;


    /**
     * 更新b2c发票订单状态为取消
     * @param ofcOrderId
     * @throws Exception
     */
    void updateInvoiceOrderStatus2Cancel(String ofcOrderId) throws Exception;

    /**
     * 更新b2c发票订单状态为取消
     * @param ofcOrderId
     * @throws Exception
     */
    void updateInvoiceOrderStatus2Refund(String ofcOrderId) throws Exception;

    /**
     * 更新b2c订单状态为收货
     * @param ofcOrderId
     * @throws Exception
     */
    void updateOrderStatus2SignIn(String ofcOrderId) throws Exception;

    /**
     * 更新b2c发票订单状态为收货
     * @param ofcOrderId
     * @throws Exception
     */
    void updateInvoiceOrderStatus2SignIn(String ofcOrderId) throws Exception;

//    /**
//     * 批量更新b2c订单状态为收货
//     * @param ofcOrderIds
//     * @throws Exception
//     */
//    void batchUpdateOrderStatus2SignIn(List<String> ofcOrderIds) throws Exception;

    /**
     * 为取消的订单增加商品库存
     * @param ofcOrderId
     * @throws Exception
     */
    void addSkuStock(String ofcOrderId) throws Exception;

    /**
     * 为取消的订单恢复用户积分
     * @param ofcOrderId
     * @throws Exception
     */
    void addPoint(String ofcOrderId) throws Exception;


    boolean sync2Ofc(Integer receiveOrderNum) throws Exception;

}
